<?php

/**
 * UserIdentity represents the data needed to identity a user.
 * It contains the authentication method that checks if the provided
 * data can identity the user.
 */
class UserIdentity extends CUserIdentity
{
	/**
	 * Authenticates a user.
	 * The example implementation makes sure if the username and password
	 * are both 'demo'.
	 * In practical applications, this should be changed to authenticate
	 * against some persistent user identity storage (e.g. database).
	 * @return boolean whether authentication succeeds.
	 */
		private $id_usuario;
	public function authenticate()
	{
		

		$user=UsuariosExternos::model()->find('nombre_usuario=:username',array(':username'=>$this->username));
       	if($user===null)             
                       $this->errorCode=self::ERROR_USERNAME_INVALID;
            
        elseif (md5($this->password)!==$user->contrasenia) //Autentificación el la tabla de personal
          	$this->errorCode=self::ERROR_USERNAME_INVALID;
        
       else 

       {
       	
       	$userSistema=Usuarios::model()->findByPk($user->id_usuario);
       	if($userSistema===null)
       	{
       	$this->errorCode=self::ERROR_USERNAME_INVALID;		
       	}
       	else
       	{
       		$this->id_usuario=$user->id_usuario;
          
        $this->setState("username",$user->nombre_usuario);
        $this->setState("id_usuario",$user->id_usuario);
        $this->setState("id_tipo",$user->id_tipo);	
        $this->errorCode=self::ERROR_NONE;	
       	}
       	
       	
          	   
       	   
       }
       
        

       
       return !$this->errorCode;
   }

	public function getId()
	{
		return $this->id_usuario;
	}
}
	?>

